#pragma once
#include "CaelumExternal.h"

namespace Caelum {

class BaseException
{
private:

protected:
	std::wstring mMessage;
	int mErrorCode;
public:
	BaseException(std::wstring Message);
	BaseException(int ErrorCode);
	~BaseException(void);

	inline std::wstring GetMsg() {
		return mMessage;
	}

	inline int GetErrorCode() { 
		return mErrorCode;
	}
};

class NotImplementedException : public BaseException
{
public:
	NotImplementedException(std::wstring Msg) : BaseException(Msg) { }
};

}